<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 选择排序  
        //    找到最小的值的下标，与第一个位置交换
        //    找到第二小的值的下标，与第二个位置交换

        // function selectSort(arr) {
        //     // 轮数
        //     for (var i = 0; i < arr.length - 1; i++) {   // 假如5个数，只需要找4轮，最后一个数自然就排好 了


        //         var min = i;  // 每一轮都假设第i个位置上的值最小   下标
        //         for (var j = i + 1; j < arr.length; j++) {   // 与后面所有的数进行比较
        //             // min始终存储较小的值
        //             if (arr[j] < arr[min]) {
        //                 min = j;
        //             }
        //         }

        //         // 比完了以后就能找到最小的值的下标
        //         if (min !== i) {
        //             var temp = arr[min];
        //             arr[min] = arr[i];
        //             arr[i] = temp;
        //         }

        //     }


        // }


        // var arr = [1, 4, 2, 7, 0];
        // selectSort(arr);
        // console.log(arr);



        // var arr = [[1, 2], [3, 4]];

        // var arr2 = arr.concat();

        // // arr.push([5, 6]);

        // // console.log(arr2); // 无影响

        // arr[0].push('a');

        // console.log(arr2);   // 有影响的



        // 回调

        // 遍历数组
        // forEach(function(v , i) {})


        function myForEach(arr, cb) {
            // 遍历数组
            for (var i = 0; i < arr.length; i++) {

                // 需要把  console.log(i) 或者  console.log(arr[i])   当成参数
                // 这是代码块    函数就是代码块

                // console.log(i);
                // console.log(arr[i]);
                cb(arr[i], i);
            }
        }


        myForEach([1, 2, 3], function (v, i) {
            console.log(v);
            console.log(i);
        })



    </script>

</body>

</html>